home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacWorld 1999 February
/
Macworld (1999-02).dmg
/
Cinema 4D GO demo
/
Tex
/
Coffee-Shader
/
Checkerboard_c.cof
next >
Wrap
Text File
|
1998-03-06
|
2KB
|
75 lines
FillData(data)
{
// count
data->SetValue(0,10.0);
data->SetValue(1,10.0);
// color 1
data->SetValue(2,1.0);
data->SetValue(3,0.0);
data->SetValue(4,0.0);
// color 2
data->SetValue(5,0.0);
data->SetValue(6,0.0);
data->SetValue(7,1.0);
}
EditData(data)
{
// Make new dialog
var d=new(SimpleDialog);
// Set edit fields of dialog
d->SetData(0,"x-count",FIELD_FLOAT,0.01,100000,data->GetValue(0));
d->SetData(1,"y-count",FIELD_FLOAT,0.01,100000,data->GetValue(1));
d->SetData(2,"Red 1",FIELD_PERCENT,0.0,1.0,data->GetValue(2));
d->SetData(3,"Green 1",FIELD_PERCENT,0.0,1.0,data->GetValue(3));
d->SetData(4,"Blue 1",FIELD_PERCENT,0.0,1.0,data->GetValue(4));
d->SetData(5,"Red 2",FIELD_PERCENT,0.0,1.0,data->GetValue(5));
d->SetData(6,"Green 2",FIELD_PERCENT,0.0,1.0,data->GetValue(6));
d->SetData(7,"Blue 2",FIELD_PERCENT,0.0,1.0,data->GetValue(7));
d->SetTitle("Checkerboard");
// start dialog
if (!d->DoDialog()) return FALSE;
// if sucessful copy dialog values into key data
data->SetValue(0,d->GetData(0));
data->SetValue(1,d->GetData(1));
data->SetValue(2,d->GetData(2));
data->SetValue(3,d->GetData(3));
data->SetValue(4,d->GetData(4));
data->SetValue(5,d->GetData(5));
data->SetValue(6,d->GetData(6));
data->SetValue(7,d->GetData(7));
return TRUE;
}
GetOutput(data,p,n,time)
{
var c,c1,c2;
c1 = vector(data->GetValue(2),data->GetValue(3),data->GetValue(4));
c2 = vector(data->GetValue(5),data->GetValue(6),data->GetValue(7));
p.x = p.x*data->GetValue(0); p.x = p.x-floor(p.x);
p.y = p.y*data->GetValue(1); p.y = p.y-floor(p.y);
if ((p.x>0.5)==(p.y>0.5))
c = c1;
else
c = c2;
return c;
}
main()
{
RegisterChannelShader(30004,8,"FillData","EditData","GetOutput");
}